1. Field of the Invention
The present invention relates generally to a retransmission control method, and more particularly, to a retransmission control method of performing error correction when a transmission error occurs in data by retransmitting the data.
2. Description of the Prior Art
A mobile/portable data communication service is one of the services whose demand toward realization has increased greatly in recent years, as represented by a word "Mobile Multimedia". A personal handyphone system (PHS) has been expected to be an infrastructure having a high bearer transmission rate, i.e., 32 kbit/s and being effective in realizing a multimedia in a radio environment. In order to realize data communication in a mobile communication environment which is lower in line quality than a wire circuit, an error control technique plays an important role. As an example of such an error control technique, a retransmission control method of an SR (Selective-Repeat) system has been conventionally proposed.
In the conventional SR retransmission control method, blocks are continuously transmitted even during a round trip delay period (RTD), and only a frame to which a reject (a retransmission request) is returned is retransmitted. Therefore, the receiving side has a buffer for preserving correct frames received after a frame including an error. If there is no error in a retransmitted frame, the receiving side outputs the retransmitted frame and the frames stored in the buffer to a user in accordance with the order of their frame numbers.
FIG. 12 illustrates a frame structure in the conventional SR retransmission control system. Portion (a) of FIG. 12 illustrates the structure of a frame for transmitting transmit data (hereinafter referred to as a transmit frame), and portion (b) of FIG. 12 illustrates the structure of a reject frame returned from the receiving side when an error occurs in received data or a retransmission wait timer times out.
As shown in portion (a) of FIG. 12, the transmit frame comprises a transmit data block 401, a frame number 402, an error-detecting code 403, and a synchronous flag 404 for frame synchronization. On the other hand, as shown in portion (b) of FIG. 12, the reject frame comprises a frame number 402, a reject code 405, and an error-detecting code 406 of a return frame. The transmission side divides the transmit data into a plurality of transmit data blocks 401, adds the frame number 402 to each of the transmit data blocks 401, then generates the error-detecting code 403 for making it possible to detect whether an error occurs in the data block or the frame number, and appends the error-detecting code 403 to the transmit data block 401. There are several methods of frame synchronization. A method of attaching a synchronous code with a particular bit pattern to the head of a frame is illustrated herein. Examples of the frame number include a modulo 8 (3 bits), a modulo 16 (4 bits), a modulo 32 (5 bits), a modulo 64 (6 bits), and a modulo 128 (7 bits). Generally speaking, the frame number of a modulo M starts with zero, is increased by one for each frame, and is returned to zero if it exceeds M-1, after which the foregoing is cyclically repeated.
FIG. 13 illustrates one example of transmission/receiving timing in the conventional SR retransmission control system. Portion (a) of FIG. 13 illustrates the timing of transmit frames and frame numbers, portion (b) of FIG. 13 illustrates the presence or absence of frame errors and return frames, portion (c) of FIG. 13 illustrates the timing of received frames and frame numbers, and portion (d) of FIG. 13 illustrates the frame numbers of data stored in a receive buffer.
In the specification, a frame assigned a frame number n shall be denoted by "frame (n)".
In the example shown in FIG. 13, an error occurs in frame (3), it is judged that there is an error in the frame (3) at the time where frame (4) is received, and a reject corresponding to the frame (3) is returned by a return frame. A round trip delay period (RTD) is a period corresponding to four frames. Since the round trip delay period deviates by a period corresponding to one frame in order to know the frame number of an error frame, however, a period corresponding to five frames (=RTD+1=4+1) is required until the return frame is returned to the transmission side. The transmission side continues to transmit new frames until it receives the reject with respect to the frame (3). As soon as the reject with respect to the frame (3) is received, the frame (3) is retransmitted. A case where an error occurs also in the retransmitted frame (3) is illustrated herein. The receiving side discards the received error frame or holds the error frame when it is later used for error correction, and eventually returns the reject with respect to the frame (3) again at the time where a time-out period (T.times.F) of a retransmission wait timer started from when the reject is returned has elapsed. The time-out period (T.times.F) of the retransmission wait timer is set to be longer than the round trip delay period (RTD). In the case shown in FIG. 13, the frame (3) reaches the receiving side without error upon being retransmitted twice. The receiving side adds data of the frame (3) to the heads of data of received frames (4) to (14) which have been stored in the buffer, and transfers the frames to a user.
As described in the foregoing, in the conventional SR retransmission control method, the new frames are continuously transmitted even during the round trip delay period (RTD), and only the frame having the reject returned is retransmitted. Even if a transmission line in which a long round trip delay period (RTD) is used, it is possible to perform efficient error correction.
FIG. 14 illustrates an example of retransmission control in a case where the round trip delay period (RTD) is a period corresponding to eight frames. FIG. 14 is the same as FIG. 13 except that the round trip delay period differs. In the case shown in FIG. 14, a modulo is 16 as in the case shown in FIG. 13. In the case shown in FIG. 14, a modulo of a transmit frame number revolves once before the second reject with respect to frame (3) reaches the transmission side. Therefore, a new frame (3) having the same frame number as that of the frame (3) which is the oldest frame which waits for retransmission on the receiving side is transmitted, and is received on the receiving side. In this case, the receiving side cannot judge whether the received frame (3) is a new frame or a retransmit frame. Thus, there occurs a situation where the receiving side adds data of the frame (3) to the heads of data of received frames (4) to (14) which have been stored in the buffer, and transfers the frames to the user regardless of the fact that the received frame (3) is a new frame. As a result, a row of data in which the order of data blocks is changed is handed to the user. It is considered that an identification bit for identifying a new or old frame is added, and the number of bits of the modulo is increased. In such a method, there arises another problem that the overhead of the frames is increased.
A method of calculating, on a network to which a plurality of terminals are connected, the number of times of retransmission Nr from a response wait period Tw and a retransmission interval Tr between the terminals and a transmission abandoning period Tk determined from the viewpoint of the response of the network is disclosed in Japanese Patent Laid-Open No. 252978/1994. In a method of calculating the number of times of retransmission which is disclosed in the gazette, the response wait period Tw is first calculated by the following equation (1): EQU Tw=K1.multidot.(Lf.multidot.Sg) (1)
K1: a coefficient of response wait time (K1&gt;1) PA1 Lf: the maximum length of a data transmission frame (bit) PA1 Sg: an apparent transmission rate (bps) PA1 K2: a coefficient of a retransmission interval (K2.gtoreq.K1.gtoreq.1)
The foregoing equation (1) holds on the assumption that the apparent transmission rate varies due to the fact that the network is used upon being divided by the plurality of terminals, and a period required to transmit a data frame in a certain data amount at a decreased transmission rate is a response wait period. In such a case, a plurality of frames are not transmitted during the response wait period, so that the effect of the SR retransmission control is not obtained. Further, the modulo does not revolve once.
In the method of calculating the number of times of retransmission which is disclosed in the above gazette, the data retransmission interval Tr is calculated by the following equation (2), and the calculated data retransmission interval Tr, the transmission abandoning period Tk determined from the viewpoint of the response of the network, and the response wait period Tw are substituted in the following equation (3), to determine the number of times of retransmission Nr: EQU Tr=K2.multidot.(Lf/Sg) (2) EQU Nr=(Tk-Tw)/Tr (3)
The response of the network can be always held in a stable state by determining the number of times of retransmission in conformity with the varying apparent transmission rate, as described above.
An object of the invention which is disclosed in Japanese Patent Laid-Open No. 252978/1994 is to ensure the response of the network. It is not considered that the present invention is applied to prevention of one revolution of a modulo, not to speak of application to SR retransmission control.